--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / js / mapExchange / geoJsonCodec.js
Displaying Raw • Download
meshchatx/src/frontend/js/mapExchange/geoJsonCodec.js e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 1.63 KB
T8b949e// SPDX-License-Identifier: 0BSD
Tff7b72import Te6edf3GeoJSON Tff7b72from Ta5d6ff"ol/format/GeoJSON"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3normalizeFeatureMetadataProps Tb4b4b4} Tff7b72from Ta5d6ff"./metadataUtils.js"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3copyStyleMetadataToPropertiesTb4b4b4, Te6edf3styleFromMcxProperties Tb4b4b4} Tff7b72from Ta5d6ff"./styleFromProperties.js"Tb4b4b4;
T8b949e/**
* @param {string} text
* @param {import("ol/proj").ProjectionLike} featureProjection
* @returns {import("ol/Feature").default[]}
*/
Tff7b72export Tff7b72function Te6edf3readGeoJsonToFeaturesTb4b4b4(Te6edf3textTb4b4b4, Te6edf3featureProjectionTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3format Tff7b72= Tff7b72new Te6edf3GeoJSONTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3features Tff7b72= Te6edf3formatTb4b4b4.Te6edf3readFeaturesTb4b4b4(Te6edf3textTb4b4b4, Tb4b4b4{
Te6edf3dataProjectionTff7b72: Ta5d6ff"EPSG:4326"Tb4b4b4,
Te6edf3featureProjectionTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3f Tff7b72of Te6edf3featuresTb4b4b4) Tb4b4b4{
Te6edf3normalizeFeatureMetadataPropsTb4b4b4(Te6edf3fTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3fTb4b4b4.Te6edf3getStyleTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3s Tff7b72= Te6edf3styleFromMcxPropertiesTb4b4b4(Te6edf3fTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3sTb4b4b4) Tb4b4b4{
Te6edf3fTb4b4b4.Te6edf3setStyleTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3featuresTb4b4b4;
Tb4b4b4}
T8b949e/**
* @param {import("ol/Feature").default[]} features
* @param {import("ol/proj").ProjectionLike} featureProjection
* @returns {string}
*/
Tff7b72export Tff7b72function Te6edf3writeFeaturesToGeoJsonTb4b4b4(Te6edf3featuresTb4b4b4, Te6edf3featureProjectionTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3format Tff7b72= Tff7b72new Te6edf3GeoJSONTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3f Tff7b72of Te6edf3featuresTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3st Tff7b72= Te6edf3fTb4b4b4.Te6edf3getStyleTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3st Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Te6edf3st Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3stTb4b4b4) Tb4b4b4{
Te6edf3copyStyleMetadataToPropertiesTb4b4b4(Te6edf3stTb4b4b4, Te6edf3fTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72const Te6edf3built Tff7b72= Te6edf3styleFromMcxPropertiesTb4b4b4(Te6edf3fTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3builtTb4b4b4) Tb4b4b4{
Te6edf3copyStyleMetadataToPropertiesTb4b4b4(Te6edf3builtTb4b4b4, Te6edf3fTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3formatTb4b4b4.Te6edf3writeFeaturesTb4b4b4(Te6edf3featuresTb4b4b4, Tb4b4b4{
Te6edf3dataProjectionTff7b72: Ta5d6ff"EPSG:4326"Tb4b4b4,
Te6edf3featureProjectionTb4b4b4,
Te6edf3decimalsTff7b72: T79c0ff7Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────